package com.xadrez.modelo;

import java.util.logging.Level;
import java.util.logging.Logger;

public class Posicao implements Cloneable{

    private int x;
    private int y;
    private boolean roquePequeno;
    private boolean roqueGrande;

    public Posicao(int x, int y){
//        if ((x<0) ||(y<0)||(x>7)||(y>7))
//            throw new RuntimeException("Posicao fora da faixa:" + x + ":"+y);
        this.x = x;
        this.y = y;
        this.roquePequeno=false;
        this.roqueGrande=false;
    }
    public Posicao(int x, int y,int status){
        this.x = x;
        this.y = y;
        if (status ==0){ // roque pequeno
            this.roquePequeno=true;
            this.roqueGrande=false;
        }else if(status ==1){ //roque grande
            this.roquePequeno=false;
            this.roqueGrande=true;
        }
    }
    
    

    public Posicao() {
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }
    @Override
    public Posicao clone(){
        Posicao posicao = null;
        try {
            posicao = (Posicao) super.clone();
        } catch (CloneNotSupportedException ex) {
            Logger.getLogger(Posicao.class.getName()).log(Level.SEVERE, null, ex);
        }
        return posicao;
    }
    
    @Override
    public boolean equals(Object object){
        Posicao pos = (Posicao)object;
        boolean resposta = false;
        if(pos.getX() == x && pos.getY() == y){
            resposta = true;
        }
        return resposta;
    }

    public boolean isRoqueGrande() {
        return roqueGrande;
    }

    public boolean isRoquePequeno() {
        return roquePequeno;
    }
    
    
}
